package com.cxz.study.ddd_project.infrastructure.model.entity.base;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 编排服务节点;
 * @author : ocxz
 * @date : 2025-1-8
 */
@Data
@TableName("soi_node")
public class SoiNodeEntity implements Serializable{

    /** 主键 */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id ;

    /** 编排节点编码 */
    private String nodeCode ;

    /** 编排节点名称 */
    private String nodeName ;

    /** 编排节点类型;参考枚举：SOINodeTypeEnum */
    private String soiNodeType ;

    /** 下一个节点判断脚本 */
    private String nextNodeScript ;

    /** 上一个节点CODE */
    private String lastNodeCode ;

    /** 执行单元标识;和soi_execution_unit关联 */
    private String executionUnitIdentifier ;

    /** 执行链路KEY */
    private String chainKey ;

    /** 创建人 */
    private Long createdBy ;

    /** 创建时间 */
    private Date creationDate ;

    /** 创建人姓名 */
    private String createdByName ;

    /** 更新人 */
    private Long lastUpdatedBy ;

    /** 更新时间 */
    private Date lastUpdateDate ;

    /** 更新人姓名 */
    private String lastUpdatedByName ;

    /** 版本号 */
    private Integer versionNum ;

    /** 租户ID */
    private Long tenantId ;

    /** 租户名称 */
    private String tenantName ;

    /** 节点状态，1启用，2停用 */
    private Boolean nodeState ;

    /** 删除标记;1正常，2删除 */
    private Boolean deleteFlag ;

    /** 当前节点执行策略枚举，多个,隔开，参考枚举ExecutionStrategyEnum */
    private String executionStrategyEnumList ;

    /** 注释;额外注释，不做业务字段 */
    private String extraRemark ;

}